package io.rocketman.transport.server;

import io.rocketman.transport.channel.Channel;
import io.rocketman.transport.channel.SendableChannel;

import java.net.InetSocketAddress;
import java.util.List;

/**
 * @author He Peng
 * @create 2018-05-25 1:53
 * @update 2018-05-25 1:53
 * @updatedesc : 更新说明
 * @see
 */
public interface Server extends SendableChannel {

    void start(InetSocketAddress localAddress) throws Exception;

    void shutdown();

    void restart();

    List<Channel> getOpenedChannels();

    Channel selectChannel(InetSocketAddress remoteAddress);
}
